<?php
session_start();
include("inc/config.inc.php");

//
// LDAP-Authentifizierung umgehen
// MUSS VOR RELEASE ENTFERNT WERDEN!!!!
//
if(1) 
{
	$_SESSION['gecos'] = "DummyVorUndNachname, DummyFirma";// name und firma ... string 
	$_SESSION['mail'] = "dummy@email.de";
	$_SESSION['lastaction'] = time();
	$_SESSION['username'] = "dummy";
	$_SESSION['admin'] = 1;
	$_SESSION['kurs'] = "it07in";
	header("Location: menu.php");
	exit;
}
//
// ENDE: LDAP-Authentifizierung umgehen
//
 
if(isset($_SERVER['REMOTE_USER']))
{	
	$ds=ldap_connect("ldap1.informatik.ba-stuttgart.de");  
	
	if($ds)
	{
		$dn="ou=lehre,o=ba-stuttgart,c=de";
		$filter="(&(objectClass=posixGroup)(memberUid=".trim($_SERVER['REMOTE_USER'])."))";
		// Gruppe suchen in der der User Mitglied ist
		$sr=ldap_search($ds, $dn, $filter, array("cn")); 
		if ($entry = ldap_first_entry ($ds, $sr))
		// es gibts eine Gruppe in der der User ist
		{
			$groupDN = ldap_get_dn ( $ds, $entry);			
			if ($groupDN =="") 
			{
				ldap_close($ds);
				unset($_SESSION['username']);
				session_unset();
				session_destroy();
			}
			else 
			{
				$groupValues = ldap_get_values($ds,$entry,"cn");
				$_SESSION['kurs'] = $groupValues[0];
				if(in_array($_SESSION['kurs'],$allowedGroups))
				// User ist in den erlaubten Gruppen
				{
					// Details zum User holen
					$filter="(&(objectClass=posixAccount)(uid=".trim($_SERVER['REMOTE_USER'])."))";
					$sr=ldap_search($ds, $dn, $filter, array("gecos","mail","uid"));
					$entry = ldap_first_entry ($ds, $sr);
					$userGecos = ldap_get_values($ds,$entry,"gecos");
					$userMail = ldap_get_values($ds,$entry,"mail");
					$userUID = ldap_get_values($ds,$entry,"uid");
					$userDN = ldap_get_dn ( $ds, $entry);
					ldap_close($ds);
					$_SESSION['gecos'] = $userGecos[0];
					$_SESSION['mail'] = $userMail[0];
					$_SESSION['lastaction'] = time();
					$_SESSION['username'] = $userUID[0];
					// adminrechte?
					if(in_array($userUID[0],$adminUser)) $_SESSION['admin'] = 1;
					else $_SESSION['admin'] = 0;
					// weiterleiten zum menu
					header("Location: menu.php");
					exit;
				}
				else
				// User ist nicht in den erlaubten Gruppen
				{
					ldap_close($ds);
					unset($_SESSION['username']);
					session_unset();
					session_destroy();
				}
			}				
		}
		else
		// es gibts KEINE Gruppe in der der User ist
		{
			ldap_close($ds);
			unset($_SESSION['username']);
			session_unset();
			session_destroy();
		}
	} 
	else 
	{
		echo "Keine Verbindung zum LDAP Server m&ouml;glich.";
		exit;
	}
}
else
// keinen User eingegeben also nicht authentifiziert
{
	unset($_SESSION['username']);
	session_unset();
	session_destroy();
}

include("inc/header.inc.php");

echo "<div><h4 style=\"color:red;\">Keine Berechtigung zum Betreten dieser Seite.</h4></div>";

include("inc/footer.inc.php");
?>